using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Outpatient.Doman.Smart
{
    /// <summary>
    /// 医院信息实体类
    /// </summary>
    [Table("Hospital")]
    public class Hospital
    {
        /// <summary>
        /// 医院唯一标识 - 主键，自增
        /// </summary>
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int HospitalId { get; set; }

        /// <summary>
        /// 医院名称
        /// </summary>
        [Required]
        [StringLength(100)]
        public string Name { get; set; } = string.Empty;

        /// <summary>
        /// 地址
        /// </summary>
        [Required]
        [StringLength(255)]
        public string Address { get; set; } = string.Empty;

        /// <summary>
        /// 经度
        /// </summary>
        [Column(TypeName = "decimal(9,6)")]
        public decimal? Longitude { get; set; }

        /// <summary>
        /// 纬度
        /// </summary>
        [Column(TypeName = "decimal(9,6)")]
        public decimal? Latitude { get; set; }

        /// <summary>
        /// 联系电话
        /// </summary>
        [StringLength(20)]
        public string? Phone { get; set; }

        /// <summary>
        /// 医院等级，如三甲、二甲等
        /// </summary>
        [StringLength(20)]
        public string? Level { get; set; }
    }
} 